const express = require('express')
const router = express.Router()
const Fish = require('../../modules/fish')
const Fishdata = require('../../modules/fishdata')
const Shrimp = require('../../modules/shrimp')
const Shrimpdata = require('../../modules/shrimpdata')
const Shell = require('../../modules/shell')
const Shelldata = require('../../modules/shelldata')
const passport = require('passport')
//passport.authenticate('jwt', { session: false }) 因为是私有接口 
// 所以请求的时候需要进行token验证 这条就是做token验证的,会跳到passport.js模块中去进行验证
/*
查询鱼类数据
 */
router.get('/fish', (req, res) => {
    Fish.find()
        .then(introduce => {
            if (!introduce) {
                res.status(404).json('未能查询到用户数据')
            } else {
                res.json(introduce)
            }
        })
        .catch(err => res.status(404).json(err))
})
router.post('/fish/edit', passport.authenticate('jwt', { session: false }), (req, res) => {
  Fish.updateOne({_id:req.query.id},req.body)
      .then(introduce => {
          if (!introduce) {
              res.status(404).json('未能查询到用户数据')
          } else {
            res.json({code:1,msg:'更新数据成功'})
          }
      })
      .catch(err => res.status(404).json(err))
})
//查看鱼类公司介绍
router.get('/fishdata',  (req, res) => {
  let page = req.query.page||1;
  let limit = req.body.pageSize || 10;
  Fishdata.find({},function (err, data) {
    if(err) return res.status(500).json({
        result: 1,
        error_info: '请求失败！'
    })
    let count = data.length
    Fishdata.find({}).skip((page - 1)*parseInt(limit)).limit(parseInt(limit)).exec(function (err, data) {
        if(err) return res.status(500).json({
            result: 1,
            error_info: '服务器繁忙，请稍后重试！'
        })
        return res.status(200).json({
            result:0,
            message:'请求成功',
            total: count,
            data: data
        })
    })
})
})
//删除鱼类公司
router.delete('/fishdata/delete', passport.authenticate('jwt', { session: false }), (req, res) => {
  
  Fishdata.deleteOne({_id:req.query.id},function (err, data) {
    if(err) return res.status(500).json({
        result: 1,
        error_info: '删除失败！'
    })
    res.status(200).json({
      result: 0,
      error_info: '删除成功！'
  })
   
})
})
//添加鱼类公司
router.post('/fishdata/add', passport.authenticate('jwt', { session: false }), (req, res) => {
  // 值: 1查询条件 2 更新的内容 3 true返回更新后的值 false返回更新前的值
  new Fishdata(req.body).save()
      .then(data => {
          if (!data) {
              res.status(404).json('添加数据失败')
          } else {
              res.json({code:1,msg:'添加数据成功'})
          }
      })
      //res.status(404).json(err)
      .catch(err => res.status(404).json(err))
})
//编辑鱼类公司
router.put('/fishdata/edit', passport.authenticate('jwt', { session: false }), (req, res) => {
  // 值: 1查询条件 2 更新的内容 3 true返回更新后的值 false返回更新前的值
  Fishdata.updateOne({ _id: req.body._id }, req.body)
      .then(data => {
          if (!data) {
              res.status(404).json('更新数据失败')
          } else {
              res.json({code:1,msg:'更新数据成功'})
          }
      })
      //res.status(404).json(err)
      .catch(err => res.status(404).json(err))
})


//对虾分界线
/*
查询对虾数据
 */
router.get('/shrimp', (req, res) => {
  Shrimp.find()
      .then(introduce => {
          if (!introduce) {
              res.status(404).json('未能查询到用户数据')
          } else {
              res.json(introduce)
          }
      })
      .catch(err => res.status(404).json(err))
})
router.post('/shrimp/edit', passport.authenticate('jwt', { session: false }), (req, res) => {
Shrimp.updateOne({_id:req.query.id},req.body)
    .then(introduce => {
        if (!introduce) {
            res.status(404).json('未能查询到用户数据')
        } else {
          res.json({code:1,msg:'更新数据成功'})
        }
    })
    .catch(err => res.status(404).json(err))
})
//查看
router.get('/shrimpdata',  (req, res) => {
let page = req.query.page||1;
let limit = req.body.pageSize || 10;
Shrimpdata.find({},function (err, data) {
  if(err) return res.status(500).json({
      result: 1,
      error_info: '请求失败！'
  })
  let count = data.length
  Shrimpdata.find({}).skip((page - 1)*parseInt(limit)).limit(parseInt(limit)).exec(function (err, data) {
      if(err) return res.status(500).json({
          result: 1,
          error_info: '服务器繁忙，请稍后重试！'
      })
      return res.status(200).json({
          result:0,
          message:'请求成功',
          total: count,
          data: data
      })
  })
})
})
//删除
router.delete('/shrimpdata/delete', passport.authenticate('jwt', { session: false }), (req, res) => {

Shrimpdata.deleteOne({_id:req.query.id},function (err, data) {
  if(err) return res.status(500).json({
      result: 1,
      error_info: '删除失败！'
  })
  res.status(200).json({
    result: 0,
    error_info: '删除成功！'
})
 
})
})
//添加
router.post('/shrimpdata/add', passport.authenticate('jwt', { session: false }), (req, res) => {
// 值: 1查询条件 2 更新的内容 3 true返回更新后的值 false返回更新前的值
new Shrimpdata(req.body).save()
    .then(data => {
        if (!data) {
            res.status(404).json('添加数据失败')
        } else {
            res.json({code:1,msg:'添加数据成功'})
        }
    })
    //res.status(404).json(err)
    .catch(err => res.status(404).json(err))
})
//编辑
router.put('/shrimpdata/edit', passport.authenticate('jwt', { session: false }), (req, res) => {
// 值: 1查询条件 2 更新的内容 3 true返回更新后的值 false返回更新前的值
Shrimpdata.updateOne({ _id: req.body._id }, req.body)
    .then(data => {
        if (!data) {
            res.status(404).json('更新数据失败')
        } else {
            res.json({code:1,msg:'更新数据成功'})
        }
    })
    //res.status(404).json(err)
    .catch(err => res.status(404).json(err))
})
//这是贝壳分界线
/*
查询贝壳数据
 */
router.get('/shell', (req, res) => {
  Shell.find()
      .then(introduce => {
          if (!introduce) {
              res.status(404).json('未能查询到用户数据')
          } else {
              res.json(introduce)
          }
      })
      .catch(err => res.status(404).json(err))
})
router.post('/shell/edit', passport.authenticate('jwt', { session: false }), (req, res) => {
Shell.updateOne({_id:req.query.id},req.body)
    .then(introduce => {
        if (!introduce) {
            res.status(404).json('未能查询到用户数据')
        } else {
          res.json({code:1,msg:'更新数据成功'})
        }
    })
    .catch(err => res.status(404).json(err))
})
//查看
router.get('/shelldata',  (req, res) => {
let page = req.query.page||1;
let limit = req.body.pageSize || 10;
Shelldata.find({},function (err, data) {
  if(err) return res.status(500).json({
      result: 1,
      error_info: '请求失败！'
  })
  let count = data.length
  Shelldata.find({}).skip((page - 1)*parseInt(limit)).limit(parseInt(limit)).exec(function (err, data) {
      if(err) return res.status(500).json({
          result: 1,
          error_info: '服务器繁忙，请稍后重试！'
      })
      return res.status(200).json({
          result:0,
          message:'请求成功',
          total: count,
          data: data
      })
  })
})
})
//删除
router.delete('/shelldata/delete', passport.authenticate('jwt', { session: false }), (req, res) => {

Shelldata.deleteOne({_id:req.query.id},function (err, data) {
  if(err) return res.status(500).json({
      result: 1,
      error_info: '删除失败！'
  })
  res.status(200).json({
    result: 0,
    error_info: '删除成功！'
})
 
})
})
//添加
router.post('/shelldata/add', passport.authenticate('jwt', { session: false }), (req, res) => {
// 值: 1查询条件 2 更新的内容 3 true返回更新后的值 false返回更新前的值
new Shelldata(req.body).save()
    .then(data => {
        if (!data) {
            res.status(404).json('添加数据失败')
        } else {
            res.json({code:1,msg:'添加数据成功'})
        }
    })
    //res.status(404).json(err)
    .catch(err => res.status(404).json(err))
})
//编辑
router.put('/shelldata/edit', passport.authenticate('jwt', { session: false }), (req, res) => {
// 值: 1查询条件 2 更新的内容 3 true返回更新后的值 false返回更新前的值
Shelldata.updateOne({ _id: req.body._id }, req.body)
    .then(data => {
        if (!data) {
            res.status(404).json('更新数据失败')
        } else {
            res.json({code:1,msg:'更新数据成功'})
        }
    })
    //res.status(404).json(err)
    .catch(err => res.status(404).json(err))
})
module.exports = router